package com.atguigu.mybatisplus.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName(value = "t_user")
public class User {

    @TableId(value = "uid") //type =IdType.AUTO主键自增，需要数据库配合
    //@TableId(type = IdType.ASSIGN_ID) 主键生成策略 雪花算法 mybatispius默认是，可不写
    //如果数据库的主键是uid 实体类是id 则可以用 @TableId(value = "uid")指定
    //如果数据库的主键是uid 实体类是id 则可以用 @TableId指定这个uid是主键
    private Long id;
    //如果数据库的字段是username 实体类是name 则可以用 @TableField(value = "username")指定对应
    @TableField(value = "username")//对应数据库字段
    private String name;
    @TableField(fill = FieldFill.INSERT)
    private Integer age;
    private String email;

    //CURRENT_TIMESTAMP 在数据库默认添加 则会根据当前时间戳添加
    @TableField(fill = FieldFill.INSERT) //添加时自动填充 (handler包)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE) //添加和更新时自动填充
    private LocalDateTime updateTime;

    @TableLogic  //逻辑删除 默认值0 未删除 false ； 1 已删除 true
    @TableField(value = "is_deleted") //对应数据库字段
    private Boolean deleted;
}

